Industrial robots for various kinds of works to work-pieces, such as screw tightening, welding, painting, carrying, attachment of a part, and soldering, include, for example, a vertical multi-joint type moving unit. A work tool attached to the moving unit is moved to a predetermined point and is driven by a computer that executes a control program.
The control program is described in a robot language, such as SLIM (Standard Language for Industrial Manipulators) or a super SEL language with instruction-based sentence structures including a control statement, a procedure, and a function. In addition, a point-based robot language has been also provided (see, for example, Japan Patent No. 4222828, JP H07-64619 A, and JP H05-257522 A) which controls a robot by referring to control data having a point number as a separator and also having information added to the portion following to the point number. Such information relates to a point where the work tool is to be positioned.
According to the point-based robot language, the point numbers are assigned to a start point for a main work where the original function of the work tool is accomplished, an end point of the main work, a routing point to position the work tool at the start point, and routing points from the start point to the end point, respectively, and pieces of information on those points are recorded in the control data.
Information on the point includes the kind of the point, the moving method to the point, the coordinates of the point, the details of work before the movement to the point, the details of work during the movement to the point, and the details of work at the point, etc., and a computer refers to those pieces of information, and successively executes an instruction set stored beforehand. That is, according to the point-based robot language, each point serves as a sort of sub-routine, and is arranged in the control data.
Regardless what language the control program is described, the control program is created together with code inputting through a keyboard or a GUI, and recording of a point and a posture through teaching. The procedure of programming includes a debug work which divides the control program, checks the operation of the robot for each separator while intermittently executing the program, and finds and corrects the control-data bug for each separator.
According to this debug work, step execution that executes the process step by step is known. By checking the instruction sentence by sentence, bugs can be carefully specified. Step-over execution that sequentially executes the contents in a sub-routine called a function block is also known (see, for example, JP H07-64619 A). Function blocks are often perfected already since it is quite cumbersome and is not efficient for a user to perform step execution in the function block and to give an instruction for restart every time the debug work is aborted.
The function block is one of structural elements of a program defined in IEC-61131-3, and is a sub-routine that can call a control realized by a combination of plural functions through only one instruction. As to the function block, the kinds of functions to be bundled are not defined, and in general, in view of the program development efficiency and the easiness to view, the function blocks are applied to enable the application of codes that are frequently used, and to make the complex structure be a function, thereby simplifying the program.
It is desirable that the debug work should be as efficient as possible. When paying an attention to a robot, the work tool often changes the process point and repeats the main work. Hence, as to the robot operation check in the debug work, it is sometimes efficient if the debug work is carried out in a unit of successive works from the positioning of the work tool at the start point while avoiding a physical contact through the routing points, the movement of the work tool from the start point to the end point while performing the main work, and the execution of a post-work process at the end point.
However, in the case of a control format that refers to the control data having point-based sentence structures recorded, according to conventional debug works, it is necessary to once stop the operation at each of plural routing points, position at the start point and once stop the operation, position at the end point and once stop the operation, and to wait for a restart instruction from the user between the stops. That is, successive works for a process point are divided into individual works.
In order to cause a robot to sequentially perform successive works, a user may set a break point in the control data. However, it takes a time to set the break point during the programming in consideration of a debug work, and is not efficient. In addition, setting a break point in the control data at the tentative completion of programming is not practical.
The present invention has been made in order to address the above-explained technical problems of conventional technologies, and it is an objective of the present invention to provide a robot that can improve the efficiency of a debug work for a control program which refers to control data recording point-based sentence structures.